05. git diff

## 为何需要该命令

你可能会像我一样,在晚上开始构建项目的下个功能,但是在完成之前就去睡觉了。也就是说,当我第二天开始工作的时候,有一些没有提交的更改。这很正常,因为我还没有完成新的功能,但是我不记得自上次 commit 起我到底完成了哪些代码。 git status 将告诉我们哪些文件更改了,但是不会显示到底是什么样的更改。

git diff 命令可以用来查找此类信息!

git diff

The git diff 命令可以用来查看已被加入但是尚未提交的更改。

$ git diff

要查看 git diff 的实际运行效果,我们需要一些未经提交的更改!在 index.html 中,我们重新组织标题的措辞。将标题从"Expedition"改为"Adventure"。保存文件,然后在终端上运行 git diff

你应该会看到以下结果:

_终端显示了 `git diff` 命令的输出结果。_

终端显示了 git diff 命令的输出结果。

哇,看起来是不是很熟悉啊?和运行 git log -p 的结果一样!告诉你个秘密, git log -p 其实就是在后台使用了 git diff 。所以你实际上已经知道如何阅读 git diff 的输出结果!

如果你不知道每个部分都是什么内容,请参阅上节课中带注解的"git log -p"输出结果。

git diff 小结

总结下, git diff 命令用来查看已经执行但是尚未 commit 的更改:

$ git diff

此命令会显示:

  • 已经修改的文件

  • 添加/删除的行所在的位置

  • 执行的实际更改

深入研究